package com.zeei.bfs.dao;

import java.util.List;
import java.util.Map;

import com.zeei.bfs.vo.DeptinfoVO;
import com.zeei.bfs.vo.OrgTreeVO;


public interface DeptinfoDao {
	
	/**
	 * 方法描述：通过条件查询部门信息
	 * 
	 * @param company
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	List<DeptinfoVO> queryDeptinfoByCondition(Map condition);
	
	/**
	 * 方法描述：查询部门信息
	 * 
	 * @param deptinfo
	 * @return
	 */
	List<DeptinfoVO> queryDeptinfo(DeptinfoVO deptinfo);
	
	/**
	 * 方法描述：插入部门信息
	 * 
	 * @param deptinfo
	 * @return
	 */
	Integer insertDeptinfo(DeptinfoVO deptinfo);
	
	/**方法描述：修改部门信息
	 * 
	 * @param company
	 * @return
	 */
	Integer updateDeptinfoById(DeptinfoVO deptinfo);
	
	/**
	 * 方法描述:修改部门的管理员角色信息
	 *
	 * @param deptinfo
	 * @return
	 */
	Integer updateDeptinfoRoleById(DeptinfoVO deptinfo);

	/**方法描述：根据id批量删除
	 * 
	 * @param list
	 * @return
	 */
	Integer deleteDeptByIds(List<?> list);
	
	/**
	 * 方法描述:查询部门用户的树列表
	 *
	 * @param condition
	 * @return
	 */
	List<OrgTreeVO> queryDeptuserTreeList(Map<?, ?> condition);

	/**
	 * 方法描述:查询部门的树列表
	 *
	 * @return
	 */
	List<OrgTreeVO> queryDeptOrgTreeList(Map<?, ?> condition);
}
